Driveway = {}

function function_4(param0, param1)
	for loopvar1, loopvar2 in param0 do 
	myvar_7 = GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2)
	myvar_8 = GetObjectDefinitionField(myvar_7, ObjDef["Multi-Tile sub index"])
		if (myvar_8 == param1) then
		return loopvar2
	end
	end
end

Driveway["FindDrivewayTile"] = function_4

function function_7(param0, param1, param2, param3)
	myvar_5 = nWorld["GetObjectsOnTile"](param0, param1, param2)
	for loopvar1, loopvar2 in myvar_5 do 
	myvar_10 = GetObjectData(loopvar2, ObjData["category"])
		if (myvar_10 == 104) then
		myvar_11 = GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2)
		myvar_12 = GetObjectDefinitionField(myvar_11, ObjDef["Multi-Tile sub index"])
			if (myvar_12 == param3) then
			myvar_13 = GetObjectData(loopvar2, ObjData["lead tile object ID"])
			return myvar_13
		end
	end
	end
	local myvar_6 = 0
	return myvar_6
end

Driveway["GetDrivewayOnTile"] = function_7

function function_10(param0, param1)
	myvar_2,myvar_3,myvar_4 = nWorld["GetObjectTile"](param0)
	local myvar_5 = 0
		if (nWorld["GetMinTileX"]() < myvar_2) then
		myvar_5 = Driveway["GetDrivewayOnTile"]((myvar_2 - 1), myvar_3, myvar_4, param1)
			if (0 < myvar_5) then
			return myvar_5
		end
	end
		if (myvar_2 < nWorld["GetMaxTileX"]()) then
		myvar_5 = Driveway["GetDrivewayOnTile"]((myvar_2 + 1), myvar_3, myvar_4, param1)
			if (0 < myvar_5) then
			return myvar_5
		end
	end
		if (nWorld["GetMinTileY"]() < myvar_3) then
		myvar_5 = Driveway["GetDrivewayOnTile"](myvar_2, (myvar_3 - 1), myvar_4, param1)
			if (0 < myvar_5) then
			return myvar_5
		end
	end
		if (myvar_3 < nWorld["GetMaxTileY"]()) then
		myvar_5 = Driveway["GetDrivewayOnTile"](myvar_2, (myvar_3 + 1), myvar_4, param1)
			if (0 < myvar_5) then
			return myvar_5
		end
	end
	local myvar_6 = 0
	return myvar_6
end

Driveway["FindAdjacentDriveway"] = function_10

function function_13(param0)
	myvar_1 = Driveway["FindDrivewayTile"](param0, 7)
	myvar_2 = Driveway["FindAdjacentDriveway"](myvar_1, 0)
		if (myvar_2 <= 0) then
		return 0
	end
	myvar_1 = Driveway["FindDrivewayTile"](param0, 1031)
	local myvar_5 = 1024
	myvar_3 = Driveway["FindAdjacentDriveway"](myvar_1, myvar_5)
		if (myvar_3 ~= myvar_2) then
		local myvar_4 = 0
		return myvar_4
	end
	return myvar_3
end

Driveway["CheckBackwards"] = function_13

function function_16(param0)
	myvar_1 = Driveway["FindDrivewayTile"](param0, 0)
		if (myvar_1 == nil) then
		return 0
	end
	myvar_2 = Driveway["FindAdjacentDriveway"](myvar_1, 7)
		if (myvar_2 <= 0) then
		return 0
	end
	myvar_1 = Driveway["FindDrivewayTile"](param0, 1024)
	local myvar_5 = 1031
	myvar_3 = Driveway["FindAdjacentDriveway"](myvar_1, myvar_5)
		if (myvar_3 ~= myvar_2) then
		local myvar_4 = 0
		return myvar_4
	end
	return myvar_3
end

Driveway["CheckForwards"] = function_16
